<?php

/**************************************************************************
* Source File	:  PosteMySQL.php
* Author        :  Amodeos - Herleman - Kuete
* Project name  :  Gestion Annuaire des anciens de l'UM2
* Modified   	:  18/05/2010
* Description	:  Definition de la classe PosteMySQL qui herite de la classe Poste
**************************************************************************/

//Include
//require_once 'Poste.php';
include("Poste.php");
include("EntrepriseMySQL.php");

class PosteMySQL  extends Poste			
{
	//Attributes
	private $idPoste;	//L'identificateur de l'objet, recupere dans la BDD
		
	 
	
	//Constructeurs
	/**
	 * Constructeur de la classe PosteMySQL
	 * @param  $idPoste L'identifiant de l'objet
	 * @param  $dateDeb La date de debut du poste occupe.
	 * @param  $dateFin La date de fin du poste occupe.
	 * @param  $fonction La fonction du membre dans l'entreprise
	 * @param  $entreprise L'entreprise dans laquelle le membre effectue son emploi/stage
	 * @param  $membre Le membre realisant le stage/emploi
	 */
//	public function __construct($idPoste,$dateDeb, $dateFin, $fonction, $entreprise, $membre) {
//		$args=func_num_args();
//		
//		switch($args) {
//			case 1 :
//				$this->idPoste = $idPoste;
//				$this->load();
//				break;
//			default :
//				
//				
//		}
//
//	}
	

	
	//Accesseurs et Modificateurs
	public function getIdPoste () {
		return $this -> idPoste;
	}
	
	
	public function setIdPoste ($idPoste) {
		$this -> idPoste = $idPoste;
	}
	
	
	
	
	//Methodes importees de InterfaceSLD
	public function save ($uid) {
		$bdd = Connection::getInstance();
		
		$debut = $this->getDateDebut();
		$fin = $this->getDateFin();
		$fonction = $this->getFonction();
		$identreprise = $this->getEntreprise()->getIdEntreprise();
		$membre = $uid;
		if (!(isset($this->idPoste))) {
			$requete = "INSERT INTO POSTE VALUES (NULL,$identreprise,$membre,'$debut','$fin','$fonction')";
			$reponse=$bdd->query($requete);
			if(!$reponse) { echo "ERREUR REQUETE"; }
		}
		else {
			$idPoste = $this->getIdPoste();
			$requete = "UPDATE POSTE SET IDENTREPRISE=$identreprise,IDMEMBRE=$membre,DATEDEBUT='$debut',DATEFIN='$fin',FONCTION='$fonction' WHERE IDPOSTE=$idPoste";
			$reponse=$bdd->query($requete);
			if(!$reponse) { echo "ERREUR REQUETE"; }		
		}	
	}
	
	public function load () {
		$bdd = Connection::getInstance();
		$reponse = $bdd->query("SELECT * FROM POSTE WHERE IDPOSTE=$this->idPoste");
		
		$tmp = $reponse->fetch();
		
		$this->setFonction($tmp['FONCTION']);
		$this->setDateDebut($tmp['DATEDEBUT']);
		$this->setDateFin($tmp['DATEFIN']);
		$entreprise = new EntrepriseMySQL ();
		$entreprise->setIdEntreprise($tmp['IDENTREPRISE']);
		$entreprise->load();
		$this->setEntreprise($entreprise);
		
		$reponse->closeCursor();
	}
	
	
	public static function loadListe ($uid) {
		$bdd = Connection::getInstance();
		$reponse = $bdd->query("SELECT * FROM POSTE WHERE IDMEMBRE= $uid");
		$postes = array();
		foreach ($reponse as $tmp){
			$poste = new PosteMySQL ();
			$poste->setIdPoste($tmp['IDPOSTE']);
			$poste->setFonction($tmp['FONCTION']);
			$poste->setDateDebut($tmp['DATEDEBUT']);
			$poste->setDateFin($tmp['DATEFIN']);
			$entreprise = new EntrepriseMySQL ();
			$entreprise->setIdEntreprise($tmp['IDENTREPRISE']);
			$entreprise->load();
			$poste->setEntreprise($entreprise);
			$postes[]=$poste;
		}
		return $postes;
	}
	public function delete () {
		$bdd = Connection::getInstance();
		$idPoste = $this->getIdPoste();
		$requete = "DELETE FROM POSTE WHERE IDPOSTE=$idPoste";
		$bdd->query($requete);
	}
	 	
	 
	

} // End Class PosteMySQL


?>

